package cn.cqie.attendance.manager.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @author 697
 * @date 2021/7/8 10:49
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="Attendance对象", description="")
public class AdminAttendance extends Model {

    private static final long serialVersionUID = -6076396448222680984L;

    @TableId(value = "id", type = IdType.AUTO)
    private int id;


    @ApiModelProperty(value = "项目id/课程id")
    private int courseId;

    @ApiModelProperty(value = "请假id")
    private int leaveId;

    @ApiModelProperty(value = "学生名")
    private String stuName;

    @ApiModelProperty(value = "学生学号")
    private String stuNumber;


    @ApiModelProperty(value = "课程名")
    private String courseName;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value = "应该签到时间")
    private Date signInTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value = "应该签退时间")
    private Date signOutTime;

    @ApiModelProperty(value = "班级名")
    private String className;

    @ApiModelProperty(value = "学院名")
    private String collegeName;

    @ApiModelProperty(value = "年级名")
    private String gradeName;

    @ApiModelProperty(value = "专业名")
    private String majorName;

    @ApiModelProperty(value = "小组名")
    private String groupName;

    @ApiModelProperty(value = "实训老师")
    private String trainTeacherName;

    @ApiModelProperty(value = "责任老师")
    private String responseTeacherName;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value = "实际签到时间")
    private Date trueSignInTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "HH:mm:ss",timezone = "GMT+8")
    @ApiModelProperty(value = "实际签退时间")
    private Date trueSignOutTime;

    @ApiModelProperty(value = "考勤情况：0 正常 1 迟到 2 早退 3 请假 4 缺勤")
    private int status;

    @ApiModelProperty(value = "打卡设备(打卡的教室)")
    private String punchDevice;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @ApiModelProperty(value = "打卡时间")
    private Date punchDate;


    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @ApiModelProperty(value = "搜索开始时间")
    private Date searcherStartTime;


    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @ApiModelProperty(value = "搜索结束时间时间")
    private Date searcherEndTime;

}
